package flex.cc.fenfa.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import flex.cc.fenfa.dto.RuleCountEntity;

/**
*
* @author WANGCONG
* 2021年10月16日下午7:35:56
* @desc 规则计数数据层
*/
@Mapper
@Repository
public interface RuleCountDao {

	/**
	*
	* @author WANGCONG
	* 2021年10月17日下午8:32:36
	* @desc 根据规则Id、服务商Id集合，查询当天分发数量占比
	*/
	List<RuleCountEntity> checkCount(@Param("qv") Map<String, Object> countParams);

	/**
	*
	* @author WANGCONG
	* 2021年10月18日下午2:50:36
	* @desc 批量插入
	*/
	void insertBatch(List<RuleCountEntity> ruleCountList);

	/**
	*
	* @author WANGCONG
	* 2021年10月19日下午4:35:18
	* @desc 根据规则Id、服务商Id查询当天信息
	*/
	RuleCountEntity queryOneByParam(@Param("qv") Map<String, String> param);

	/**
	*
	* @author WANGCONG
	* 2021年10月20日上午9:21:16
	* @desc 获取当前规则，在当天累计派发数
	*/
	int findMaxCountByRuleId(String ruleId);

	/**
	*
	* @author WANGCONG
	* 2021年10月20日上午9:38:39
	* @desc 根据ruleId、servicerId、当天时间更新具体的一条数据
	*/
	void updateVo(RuleCountEntity ruleCountVo);

	/**
	*
	* @author WANGCONG
	* 2021年10月20日上午9:45:51
	* @desc 根据ruleId、当天时间更新多条数据的count值
	*/
	void updateCount(String ruleId);

	/**
	*
	* @author WANGCONG
	* 2021年10月22日上午11:22:27
	* @desc 规则更新，规则计数重置：version+1
	*/
	void updateVersionByRuleId(String ruleId);

	/**
	*
	* @author WANGCONG
	* 2021年11月9日下午3:17:51
	* @desc 规则插入
	*/
	int insertVo(RuleCountEntity ruleCountEntity);
	
}
